home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Winzipper
/
Winzipper_ISO.iso
/
nt4.0 server
/
DRVLIB.NIC
/
BLUTOK
/
OEMSETUP.INF
< prev
Wrap
INI File
|
1996-07-31
|
34KB
|
1,028 lines
;/****************************************************************************/
;/* oemsetup.inf */
;/* */
;/* installation script for Madge Blue+ Network Adapter Cards */
;/* version 1.06 */
;/* August 1995 */
;/****************************************************************************/
;/****************************************************************************/
;/* Required section 1 - [Identify] */
;/****************************************************************************/
[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
;/****************************************************************************/
;/* [Identify] Support sections */
;/****************************************************************************/
[Identification]
OptionType = NetAdapter
;/****************************************************************************/
;/* Required section 2 - [ReturnOptions] */
;/****************************************************************************/
[ReturnOptions]
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
ifstr(i) $($1) == ""
goto returnoptions
endif
set PlatformList = ^(PlatformsSupported, 1)
Ifcontains(i) $($1) in $(PlatformList)
goto returnoptions
else
set Status = STATUS_NOTSUPPORTED
goto finish_ReturnOptions
endif
else
set Status = STATUS_NOLANGUAGE
goto finish_ReturnOptions
endif
returnoptions = +
set OptionList = ^(Options, 1)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
;/****************************************************************************/
;/* [ReturnOptions] Support sections */
;/****************************************************************************/
[Options]
BLUTOK
; PlatformsSupported appears to support an optional second parameter to
; the [ReturnOptions] section.
[PlatformsSupported]
ISA
EISA
MCA
;/****************************************************************************/
;/* Required section 3 - [InstallOption] */
;/****************************************************************************/
[InstallOption]
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
set !DebugOutputControl = 1
; Check language is OK
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif
Debug-Output "BLUTOK.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
set-subst LF = "\n"
read-syms GeneralConstants
read-syms FileConstants
; Shell $(UtilityInf), GetBindingInfo, "IBM"
; ifint $($ShellCode) != $(!SHELL_CODE_OK)
; Debug-Output "ShellCode error: cannot get an error string."
; goto ShellCodeError
; endif
; set NetRuleSoftwareBindable = $($R1)
; set NetRuleSoftwareBindable - can't use GetBindingInfo without MS help!
set NetRuleSoftwareBindable = {"blutokDriver blutokAdapter non exclusive 100"}
read-syms DialogConstants$($0)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = $(OK)
endif
read-syms FileConstants$($0)
detect date
sethelpfile blutok.hlp $(BLUE_HELP_BASE) $(BLUE_HELP_LIMIT)
set-title $(FunctionTitle)
set to = Begin
set from = Begin
set CommonStatus = STATUS_SUCCESSFUL
EndWait
Begin = +
set ActivateDetection = FALSE
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = removeadapter
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = bindingadapter
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
else-Ifstr(i) $(!NTN_InstallMode) == configure
set CommonStatus = STATUS_REBOOT
; set ActivateDetection = TRUE
set StartLabel = configureadapter
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Debug-Output "Cannot configure the IBM software."
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
set Error = $($R0)
set from = end
set to = end
goto nonfatalinfo
endif
else
set StartLabel = installadapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
; Let's not do any detection just yet...
; set ActivateDetection = TRUE
endif
set IOBaseAddress = 1
Debug-Output "BluTok.INF: =================================================="
Debug-Output "BluTok.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
Debug-Output "BluTok.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
Debug-Output "BluTok.INF: Option is: "$(Option)
Debug-Output "BluTok.INF: NTN_ORIGINATION is: "$(!NTN_Origination)
Debug-Output "BluTok.INF: !STF_NCDETECT is: "$(!STF_NCDETECT)
; Debug-Output "BluTok.INF: !STF_NCOPTION is: "$(!STF_NCOPTION)
; Debug-Output "BluTok.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
; Debug-Output "BluTok.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
Debug-Output "BluTok.INF: =================================================="
Set DetectedCard = FALSE
Ifstr(i) $(ActivateDetection) != TRUE
Goto skipdetection
Endif
Set TypeList = {{IOADDR, IOADDR_Addr_List, IOBaseAddress}}
Debug-Output "BluTok.INF: Calling Param_BuildTypeLists"
Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
Set Status = $($R0)
ifstr(i) $(Status) != STATUS_SUCCESSFUL
Goto fataldetect
Endif
Debug-Output "BluTok.INF: Calling Param_SetDefaults"
Shell $(ParamInf) Param_SetDefaults {}
Ifstr(i) $(!STF_NCDETECT) == YES
Ifstr(i) $(!STF_NCOPTION) == $(Option)
Set DetectedCard = TRUE
Debug-Output "BluTok.INF: Setting DetectedCard to TRUE"
Endif
Endif
skipdetection =+
set from = $(fatal)
set to = $(fatal)
goto $(StartLabel)
installadapter = +
; ProductKeyName = \HKEY_LOCAL_MACHINE\SOFTWARE\Madge\BluTok\CurrentVersion
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
CloseRegKey $(KeyProduct)
ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
$(ProductVersion)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
ifstr(i) $($R1) != "OK"
set CommonStatus = STATUS_USERCANCEL
goto end
endif
set OldVersionExisted = $(TRUE)
endif
endif
Ifstr(i) $(DetectedCard) != TRUE
Goto adaptersetup
Endif
StartWait
Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
EndWait
Ifstr(i) $($R0) != STATUS_SUCCESSFUL
Goto adaptersetup
Endif
Set DetectedParams = $($R1)
Debug-Output "BluTok.INF: Calling Param_SetDefaults to merge detected params"
Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
goto adapteroptions
configureadapter = +
Ifstr $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
Debug-Output "Cannot find component product key"
goto fatalregistry
Endif
Endif
Debug-Output "BluTok.INF: Shelling to FindService"
Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "BluTok.INF: FindService shell failure"
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Debug-Output "BluTok.INF: FindService Shell error: "$($R0)
Goto fatalregistry
endif
set KeyParameters = $($R2)
CloseRegKey $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = "CANNOT_FIND_COMPONENT_SERVICE"
Debug-Output "Cannot find component service"
goto fatalregistry
endif
set OldVersionExisted = $(TRUE)
set ValueName = ""
set ValueData = ""
set ValueStr = ""
set ValueList = {}
EnumRegValue $(KeyParameters) ValueList
ForListDo $(ValueList)
set ValueItem = $($)
set ValueName = *($(ValueItem),1)
set ValueData = *($(ValueItem),4)
Ifstr(i) $(ValueName) == "IOBaseAddress"
set IOBaseAddress = $(ValueData)
else-Ifstr(i) $(ValueName) == "NetworkAddress"
set NetworkAddress = $(ValueData)
else-ifstr(i) $(ValueName) == "BusType"
set BusInterfaceType = $(ValueData)
else-ifstr(i) $(ValueName) == "BusNumber"
set BusNumber = $(ValueData)
else-ifstr(i) $(ValueName) == "MaxFrameSize"
set MaxFrameSize = $(ValueData)
endif
EndForListDo
ifstr(i) $(IOBaseAddress) == ""
set IOBaseAddress = 1
endif
adaptersetup =+
; Shell $(ParamInf) Param_ParameterConfidence
; Ifstr(i) $($R0) != STATUS_SUCCESSFUL
; Debug-Output "BluTok.INF: parameter confidence too low to bypass configuration"
; Goto adapteroptions
; Endif
; Ifstr(i) $(DetectedCard) == TRUE
; Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
; Goto adapterverify
; Endif
; Endif
goto adapteroptions
adapteroptions = +
set from = adapteroptions
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
ifstr(i) $(!AutoNetInterfaceType) != ""
set BusInterfaceType = $(!AutoNetInterfaceType)
else
set BusInterfaceType = 1
endif
ifstr(i) $(!AutoNetBusNumber) != ""
set BusNumber = $(!AutoNetBusNumber)
else
set BusNumber = 0
endif
goto adapterverify
endif
; We need our own installation dll for resources...
ifint $(OldVersionExisted) != $(TRUE)
shell $(UtilityInf) DoAskSource $(!STF_CWDDIR) $(SrcDir) NO
ifint $($ShellCode) != S(!SHELL_CODE_OK)
goto ShellCodeError
else-ifstr(i) $($R0) == STATUS_FAILED
shell $(UtilityInf) RegistryErrorString ASK_SOURCE_FAIL
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
else-ifstr(i) $($R0) == STATUS_USERCANCEL
goto successful
endif
Set SrcDir = $($R1)
; Now we could install the DLL here, but we might as well do it all at
; once when we install the driver... This might upset the help though...
LoadLibrary #("Source Media Descriptions", 1, 1) +
$(SrcDir)\blutok.dll BluHandle
else
LoadLibrary "" $(!STF_WINDOWSSYSPATH)\blutok.dll BluHandle
endif
; Set input variables for the dialog
set RadioIn = {$(IOBaseAddress)}
read-syms FileDependentDlg$(!STF_LANGUAGE)
set oldNetworkAddress = $(NetworkAddress)
set oldMaxFrameSize = $(MaxFrameSize)
; Display the dialog and process result
display_dialog = +
ui start "InputDlg" $(BluHandle)
ifstr(i) $(DLGEVENT) == "CONTINUE"
set IOBaseAddress = *($(RadioOut),1)
set NetworkAddress = *($(EditTextOut),1)
set MaxFrameSize = *($(EditTextOut),2)
else-ifstr(i) $(DLGEVENT) == "BACK"
set CommonStatus = STATUS_USERCANCEL
Debug-Output "Action: exit. Bye."
ui pop 1
goto end
else
ui pop 1
Debug-Output "Action: unknown. Bye."
goto end
endif
; Sanity check the values we've been given
ifint $(MaxFrameSize) > 17839
set Error = "Maximum frame size must be less than 17839"
set from = display_dialog
goto nonfatalinfo
endif
ifint $(MaxFrameSize) != 0
ifint $(MaxFrameSize) < 96
set Error = "Maximum frame size must be greater than 96"
set from = display_dialog
goto nonfatalinfo
endif
endif
ifstr $(NetworkAddress) != ""
set FLibraryErrCtl = 1
LibraryProcedure Result $(BluHandle) BlueCheckAddress $(NetworkAddress)
set FLibraryErrCtl = 0
ifstr(i) *($(Result),1) != STATUS_SUCCESS
set Error = $(Result)
set from = display_dialog
goto nonfatalinfo
endif
set NetworkAddress = *($(Result),2)
endif
ui pop 1
ifstr(i) $(!STF_NCDETINFO) == {}
Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set BusInterfaceType = $($R1)
set BusNumber = $($R2)
else
set BusInterfaceType = *($(!STF_NCDETINFO),5)
set BusNumber = *($(!STF_NCDETINFO),6)
endif
adapterverify =+
Ifstr(i) $(DetectedCard) != TRUE
Goto skipoptions
Endif
Debug-Output "BluTok.INF: Calling Param_VerifyCard"
Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
Ifstr(i) $($R0) == STATUS_SUCCESSFUL
Debug-Output "BluTok.INF: Param_VerifyCard succeeded"
Goto skipoptions
Endif
Set from = adapteroptions
Set to = skipoptions
Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
set Error = $($R0)
Goto Warning
skipoptions =+
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(!NTN_InstallMode) == configure
goto writeparameters
endif
endif
StartWait
ifint $(OldVersionExisted) == $(FALSE)
; The software has never been installed before, so first copy from disk
ifstr(i) $(!NTN_InstallMode) == "install"
; No need to ask for source directory - already done that above...
install "Install-Option"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
endif
endif
; We have loaded the software - now make the correct registry entries
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
$(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
$(NetEventDLL)
Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Registry error: add software components"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)
goto fatalregistry
endif
Set SoftProductKey = $($R1)
Set SoftNetRuleKey = $($R2)
Set SoftServiceKey = $($R3)
Set SoftParameterKey = $($R4)
Set SoftLinkageKey = $($R5)
set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
{Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
CloseRegKey $(SoftServiceKey)
CloseRegKey $(SoftParameterKey)
CloseRegKey $(SoftLinkageKey)
goto fatalregistry
endif
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
{use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
{bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(SoftProductKey)
CloseRegKey $(SoftNetRuleKey)
CloseRegKey $(SoftServiceKey)
CloseRegKey $(SoftParameterKey)
CloseRegKey $(SoftLinkageKey)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
goto fatalregistry
endif
endif
; Installing new software converges with just installing new hardware here
Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
ifint $($R4) != -1
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Cannot add hardware component"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Registry error: add hardware component"
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif
set KeyParameters = $($R3)
set KeyAdapterRules = $($R2)
set AdapterNumber = $($R4)
set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
CloseRegKey $($R1)
; ProductHardwareName = BluTok
; NetRuleHardwareBindForm = yes yes container
; => TempBindForm = BluTok? yes yes container
set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
Debug-Output "Resgitry error: add value list."
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto fatalregistry
endif
CloseRegKey $(KeyAdapterRules)
goto writeparameters
; Installation converges with configuration here to write card parameters
writeparameters = +
set NewValueList = {{IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddress)},+
{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
{MediaType,$(NoTitle),$(!REG_VT_DWORD),2}}
; Add optional parameters
ifint $(MaxFrameSize) != 0
set NewValueList = >($(NewValueList),+
{MaxFrameSize,$(NoTitle),$(!REG_VT_DWORD),$(MaxFrameSize)})
endif
ifstr $(NetworkAddress) != ""
set NewValueList = >($(NewValueList),+
{NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)})
endif
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
; Delete redundant optional parameters
ifstr $(NetworkAddress) == ""
ifstr $(oldNetworkAddress) != ""
DeleteRegValue $(KeyParameters) NetworkAddress
endif
endif
ifint $(MaxFrameSize) == 0
ifint $(oldMaxFrameSize) != 0
DeleteRegValue $(KeyParameters) MaxFrameSize
endif
endif
; Final tidy up...
ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
endif
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error."
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyParameters)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
Debug-Output "Registry error: Add value list"
goto fatalregistry
endif
EndWait
goto successful
bindingadapter =+
set Error = "Binding: Sorry, not yet implemented."
goto fatal
removeadapter = +
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
else
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $(!NTN_RegBase)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
UpgradeSoftware = +
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
CloseRegKey $(KeyProduct)
else
goto fatalregistry
endif
goto end
; From here on we have the exit points -
; successful - set CommonStatus to return value e.g. STATUS_SUCCESS
; abandon - set OEM_ABANDON_OPTIONS to list of adapter card id's
; e.g. { BluTok01 }
; set OEM_ABANDON_SOFTWARE to TRUE/FALSE
; set CommonStatus to return value
; warning - set Error to a string to be displayed in message box
; set to to "Continue" destination
; set from to "Cancel" destination
; set CommonStatus for "Exit"
; nonfatalinfo/nonfatal -
; set Error (you don't have to, but then you get the registry
; error SETUP_FAIL)
; set from to "OK" destination
; set CommonStatus for nonfatal for "Cancel" destination
; fatalregistry -
; set RegistryErrorIndex
; set OEM_ABANDON_ON to TRUE/FALSE
; fataldetect - set OEM_ABANDON_ON to TRUE/FALSE
; fatal - set Error optionally
; - set OEM_ABANDON_ON to TRUE/FALSE
; - set CommonStatus
; ShellCodeError -
; set OEM_ABANDON_ON to TRUE/FALSE
successful = +
goto end
abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
EndForListDo
Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), FALSE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error"
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end
warning = +
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(to)
else-ifstr(i) $($R1) == "CANCEL"
goto $(from)
else
goto "end"
endif
nonfatalinfo = +
Set CommonStatus = STATUS_USERCANCEL
Set Severity = STATUS
goto nonfatalmsg
nonfatal = +
Set Severity = NONFATAL
goto nonfatalmsg
nonfatalmsg = +
ifstr(i) $(Error) == ""
Set Severity = NONFATAL
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(from)
else
goto "end"
endif
fatalregistry = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
fataldetect = +
Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "ShellCode error: cannot get an error string."
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal
fatal = +
ifstr(i) $(Error) == ""
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
goto setfailed
ShellCodeError = +
set DlgType = "MessageBox"
set STF_MB_TITLE = $(ShellCodeErrorTitle)
set STF_MB_TEXT = $(ShellCodeErrorText)
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "Error Message"
goto setfailed
setfailed = +
set CommonStatus = STATUS_FAILED
ifstr(i) $(OEM_ABANDON_ON) == TRUE
set OEM_ABANDON_ON = FALSE
goto abandon
endif
goto end
end = +
; This is the only safe place to free the library handle without rewriting
; all the error handling code...
ifstr $(BluHandle) != $(KeyNull)
FreeLibrary $(BluHandle)
endif
goto term
term = +
Return $(CommonStatus)
;/****************************************************************************/
;/* [InstallOption] Support sections */
;/****************************************************************************/
[GeneralConstants]
from = ""
to = ""
retaddr = ""
KeyNull = ""
StringNull = ""
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers
[FileConstants]
UtilityInf = "UTILITY.INF"
ParamInf = "NCPARAM.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "driver"
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer = "Madge"
ProductMajorVersion = "3"
ProductMinorVersion = "5"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
ProductSoftwareName = "BluTok"
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\BluTok.sys"
NetRuleSoftwareType = "blutokSys ndisDriver blutokDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """BluTokSys"" yes no container"
NetRuleSoftwareClass = {"blutokDriver basic"}
ProductHardwareName = "BluTok"
NetRuleHardwareType = "blutok blutokAdapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"blutokAdapter basic"}
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
BLUE_HELP_BASE = 6000
BLUE_HELP_LIMIT = 6000
[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate
[Install-Option]
set STF_VITAL = ""
ifstr(i) $(AddCopy) == "YES"
AddSectionFilesToCopyList Files-$(Option) +
$(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-$(Option)-Dll +
$(SrcDir) $(!STF_WINDOWSSYSPATH)
endif
ifstr(i) $(DoCopy) == "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
ifstr(i) $(DoConfig) == "YES"
endif
Exit
[Install-Update]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-$(Option) +
$(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-$(Option)-Dll +
$(SrcDir) $(!STF_WINDOWSSYSPATH)
CopyFilesInCopyList
exit
;/****************************************************************************/
;/* [Source Media Descriptions] */
;/****************************************************************************/
[Source Media Descriptions]
1 = "Madge Blue+ Installation Disk 2"
[Signature]
FileType = MICROSOFT_DRVLIB_FILE
[GetSignature]
read-syms Signature
return $(FileType)
[Files-BluTok]
1, BLUTOK.SYS, SIZE=9999
[Files-BluTok-Dll]
1, BLUTOK.DLL, SIZE=9999
1, BLUTOK.HLP, SIZE=9999
;/****************************************************************************/
;/* Language dependent parameters */
;/****************************************************************************/
; These are the allowed languages, followed by the relevant sections for each.
[LanguagesSupported]
ENG
;/****************************************************************************/
;/* [ReturnOptions] section language support */
;/****************************************************************************/
[OptionsTextENG]
BLUTOK = "Madge Blue+ Token Ring Adapter"
;/****************************************************************************/
;/* [InstallOption] section language support */
;/****************************************************************************/
[FileConstantsENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT Networking is not correctly installed. "+
"Are you sure you want to cancel copying files?"
ProCancelCap = "Network Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
FunctionTitle = "Madge Blue+ Adapter Card Setup"
ProductSoftwareDescription = "Madge Blue+ Adapter Driver"
ProductHardwareDescription = "Madge Blue+ Adapter"
ProductSoftwareTitle = "Madge Blue+ Adapter Driver"
ProductHardwareTitle = "Madge Blue+ Adapter"
ShellCodeErrorTitle = "Error: "$(FunctionTitle)
ShellCodeErrorText = "Shell Code Error."
[DialogConstantsENG]
Help = "&Help"
Exit = "Cancel"
OK = "OK"
HelpContext = ""
Continue = "Continue"
Cancel = "Cancel"
[FileDependentDlgENG]
Group1 = "I/O Port Base Address"
Radio1 = "&Primary"
Radio2 = "&Secondary"
Edit1Label = "&Network Address:"
Edit2Label = "&Max Frame Size:"
DlgType = "RadioCombination"
DlgTemplate = "BLUE_TOKEN"
Caption = $(FunctionTitle)
ComboListItemsIn = {}
ComboListItemsOut = {}
EditTextLim = {17, 5}
EditTextIn = {$(NetworkAddress), $(MaxFrameSize)}
OptionsGreyed = {}
HelpContext = $(BLUE_HELP_BASE)
RCCtlFocusOn = 403
;/****************************************************************************/
;/* End of OEMSETUP.INF */
;/****************************************************************************/